package dj.timer;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TaskTimer {

	private Timer timer = null;

	public void usgeReportTimer(TimerTask tk, String time) {
		// 获得当天的日期
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");
		Date date = new Date();
		// 定义开始时间字符串
		time = sdf.format(date) + time;
		// 获得当天的指定时间的date对象
		sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		try {
			date = sdf.parse(time);
		} catch (ParseException e) {
			e.printStackTrace();
		}

		// 判断今天的执行时间是否已经过去，如果过去则改为明天
		if (date.getTime() < System.currentTimeMillis()) {
			date = new Date(date.getTime() + 24 * 60 * 60 * 1000);
		}

		timer = new Timer(true);
		// 设置任务计划，启动和间隔时间
		timer.schedule(tk, date, 24 * 60 * 60 * 1000);
	}
}
